package cn.sky.demo.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

/**
 * 短信客户端类，用于发送短信
 */
@Component
public class SmsClient {
    
    private static final Logger logger = LoggerFactory.getLogger(SmsClient.class);
    
    /**
     * 发送短信方法
     * 
     * @param phone 手机号码
     * @param message 短信内容
     * @return 发送结果
     */
    public String sendSms(String phone, String message) {
        try {
            // 这里应该是实际的短信发送逻辑
            // 可以是调用第三方短信服务API
            
            // 模拟短信发送过程
            logger.info("正在发送短信到: " + phone);
            logger.info("短信内容: " + message);
            
            // 模拟网络延迟
            Thread.sleep(1000);
            
            // 模拟发送成功
            String result = "SUCCESS";
            logger.info("短信发送成功: " + result);
            
            return result;
        } catch (Exception e) {
            logger.error("短信发送失败: phone=" + phone + ", message=" + message, e);
            return "FAILED: " + e.getMessage();
        }
    }
    
    /**
     * 带优先级的短信发送方法
     * 
     * @param phone 手机号码
     * @param message 短信内容
     * @param priority 优先级
     * @return 发送结果
     */
    public String sendSms(String phone, String message, int priority) {
        try {
            // 这里可以实现带优先级的短信发送逻辑
            logger.info("正在发送优先级为 " + priority + " 的短信到: " + phone);
            logger.info("短信内容: " + message);
            
            // 模拟网络延迟
            Thread.sleep(500);
            
            // 模拟发送成功
            String result = "SUCCESS";
            logger.info("优先级短信发送成功: " + result);
            
            return result;
        } catch (Exception e) {
            logger.error("优先级短信发送失败: phone=" + phone + ", message=" + message + ", priority=" + priority, e);
            return "FAILED: " + e.getMessage();
        }
    }
}
